/* ------------- layout: 2 rows × 3 columns ------------- */
.gallery-2x3 {
    padding-top: 150px;
    padding-bottom: 50PX;
    padding-left: 90px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 3 per row */
    gap: 1.5rem;
    /* space between cards */
}

/* optional responsiveness */
@media(max-width: 991px) {

    /* tablets → 2 per row */
    .gallery-2x3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width: 575px) {

    /* phones → 1 per row */
    .gallery-2x3 {
        grid-template-columns: 1fr;
    }
}

/* ------------- card + hover “pop” ------------- */
.gallery-item {
    position: relative;
    overflow: hidden;
    /* keeps the zoomed img clipped */
    border-radius: 8px;
    transition: transform .35s ease, box-shadow .35s ease;
}

.gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
    /* smooth inner zoom */
}

/* pop‑in‑place effect */
.gallery-item:hover {
    transform: scale(1.07);
    /* card lifts a bit */
    box-shadow: 0 14px 28px rgba(0, 0, 0, .25);
    z-index: 2;
    /* stay above neighbours */
}

.gallery-item:hover img {
    transform: scale(1.12);
    /* subtle extra zoom of image */
}

.infra-img-boxes {
    display: flex;
    flex-wrap: wrap;
}

.gallery-img {
    height: 230px;
    /* pick the height you like */
    object-fit: cover;
    /* crops edges, keeps aspect ratio */
    transition: transform .3s ease;
}

.gallery-img:hover {
    transform: scale(1.05);
    /* gentle zoom on hover */
}